package ch.six;

import java.util.Scanner;

/**
 * 输入三个数字，分别作为数组的项数、生成数字的最小值，生成数字的最大值。
 * 随机生成这么多个项的数字放进数组
 * 展示数组，5个一行。
 * 求平均值
 * 遍历输出大于平均值的数字。
 */

public class Array {
    public static void main( String[] args ) {
        int arraylength;
        int inputlow;
        int inputhigh;
        int[] array;

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入数组的项数");
        arraylength = sc.nextInt();
        System.out.println("请输入生成数字的最小值");
        inputlow = sc.nextInt();
        System.out.println("请输入生成数字的最大值");
        inputhigh = sc.nextInt();
        array = new int[arraylength];
        generate(array, inputlow, inputhigh);
        printArray(array);
        System.out.println(getAverage(array));
    }

    //生成arraylength个数字放进数组
    public static void generate(int[] data, int low, int high) {
        for ( int i = 0; i < data.length; i++ ) {
            int temp = ( int ) (Math.random() * (high - low) + low);
            data[i]=temp;
        }
    }

    //展示数组，每5个换行
    public static void printArray(int[] array) {
        int count = 0;
        for(int i=0; i<array.length; i++) {
            System.out.print(array[i]+" ");
            count++;
            if (count%5==0) {
                System.out.println();
            }
        }
    }


    //求平均数
    public static int getAverage( int[] array ) {
        int average = 0;
        int sum=0;
        for(int x : array) {
            sum+=x;
            average=sum/array.length;
        }
        return average;
    }

    //展示大于平均数的数字
//    public static int[] showNUmbers(int[] array,int average) {
//        return [];
//    }

}
